package com.gzx.bi.modular.goals.monthly.entity.bo;

import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.gzx.bi.modular.goals.monthly.entity.GzxMonthlyGoals;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.springframework.data.annotation.Id;

import java.math.BigDecimal;

/**
 * @author zjt
 * @description
 * @date 2025/1/13 14:27
 */
@Data
@AutoMapper(target = GzxMonthlyGoals.class)
public class GzxMonthlyGoalsAddOrEditBo {

    /**
     * 自增主键
     */
    @Id
    private Long id;

    /**
     * 项目编码
     */
    private String projectCode;

    /**
     * 所属部门
     */
    private Long deptId;

    /**
     * 所属月份
     */
    @Trans(type = TransType.DICTIONARY, key = "month")
    private Integer belongingMonth;

    /**
     * 批次号
     */
    private String batchNumber;

    /**
     * 人数
     */
    private Integer personnelCount;

    /**
     * 案件数量
     */
    private Integer caseCount;

    /**
     * 案件总金额
     */
    private BigDecimal totalArrearsAmount;

    /**
     * 月目标金额
     */
    private BigDecimal monthlyTargetAmount;

    /**
     * 结佣比例
     */
    private BigDecimal commissionRatio;

    /**
     * 佣金，计算公式为：月累计达成金额 * 结佣比例，并保留两位小数
     */
    private BigDecimal commission;

    /**
     * 垫付金额
     */
    private BigDecimal advancePayment;

    /**
     * 去掉垫付的佣金，计算公式为：佣金 - 垫付金额
     */
    private BigDecimal commissionExclAdv;

    /**
     * 佣金目标
     */
    private BigDecimal commissionTarget;

    /**
     * 佣金达成率，计算公式为：去掉垫付的佣金 / 佣金目标，并保留两位小数
     */
    private BigDecimal commissionAchievementRate;

    /**
     * 月还款达成率，计算公式为：月累计达成金额 / 月目标金额，并保留两位小数
     */
    private BigDecimal monRepayAr;
}
